import { IPSApplicationObject } from '../ipsapplication-object';
import { IPSAppCounter } from '../control/ipsapp-counter';
import { IPSUIAction } from '../../view/ipsuiaction';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSAppUIAction
 */
export interface IPSAppUIAction extends IPSUIAction, IPSApplicationObject {
  /**
   * 行为附加上下文Json字符串
   * @type {string}
   */
  contextJOString: string;

  /**
   * 计数项标识
   * @type {string}
   */
  counterId: string;

  /**
   * 应用计数器
   *
   * @type {IPSAppCounter}
   */
  getPSAppCounter(): IPSAppCounter | null;

  /**
   * 应用计数器
   *
   * @type {IPSAppCounter}
   */
  get psAppCounter(): IPSAppCounter | null;

  /**
   * 应用计数器（必须存在）
   *
   * @type {IPSAppCounter}
   */
  getPSAppCounterMust(): IPSAppCounter;
}
